import axios from "axios"
import { Toast } from 'vant'
// import store from "@/store/index.js"//引入vuex

var httpRequest = axios.create({
    baseURL: 'http://vt.ossjk.com',//基本地址
    timeout: 5000,//超时时间
});

// 添加请求拦截器(请求之前做的操作)
httpRequest.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    Toast.loading({//loading效果
        message: '加载中...',
        forbidClick: true,
    });

    // if(config.url === "login"){//如果是登录请求，设置为不需要跨域
    //     config.baseURL = "http://vt.ossjk.com"
    // }
    config.headers.token = localStorage.getItem("token")
    
    
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器(响应之后做的操作)
httpRequest.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    Toast.clear();//清空loading效果
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default httpRequest

// vt不需要跨域
// vt2需要跨域

// 什么是跨域?怎么解决?
// 浏览器同源策略（前后端）
// 1、协议相同  http://  https://
// 2、域名相同  www.baidu.com
// 3、端口相同  :8080

// http://www.baidu.com:8080

// 为什么要有同源策略
// 同源策略是为了防止被攻击


// 后端地址：http://vt.ossjk.com
// 前端地址：http://localhost:8080

// 跨域方案
//     1)jsonp  原理：script标签、img标签、a标签都不受跨域影响
//     2)cors   原理：后端给前端开了个后门，让前端能够直接访问,前端不需要进行任何设置就可以跨域
//     3)node中间件代理  原理：后端里面本身不存在跨域

// 前端(http://localhost:8080)        代理(http://vt2.ossjk.com)         后端(http://vt2.ossjk.com)


// axios发送请求机制，是先发一次options进行试探，如果地址没问题，再发送真正的请求给后端



